#ifndef QLSVTABBAR_H
#define QLSVTABBAR_H

#include <QTabBar>

#include "qls_plugins_manager_appfwk_global.h"

class QLS_PLUGINS_MANAGER_APPFWK_EXPORT QLsVTabBar : public QTabBar
{
    Q_OBJECT
public:
    /* sizeFromContents
     * 用于设置Tab标签大小
     * 1.获取原标签大小
     * 2.宽高切换
     * 3.强制宽高
     * 4.return
     */
    QSize tabSizeHint(int index) const;

protected:
    /* drawControl
     *  画控件
     * 1.过滤CE_TabBarTabLabel
     * 2.选择状态下的背景绘制
     *      a.获取Rect
     *      b.保存旧的画笔
     *      c.设置新画笔
     *      d.画 Rect
     *      e.恢复旧的画笔
     * 3.设定Text对齐及选中/非选中状态下的Text颜色
     * 4.过滤CE_TabBarTab，对其进行绘制
     */
    void paintEvent(QPaintEvent * /*event*/);
};

#endif // QLSVTABBAR_H
